package com.fruit.mapper.promotion;

import com.fruit.pojo.promotion.Activity;
import com.fruit.pojo.promotion.ActivityGoods;
import com.fruit.pojo.promotion.ActivityTakeDetail;

import java.util.List;

import org.apache.ibatis.annotations.Param;

/**
 * ActivityMapper
 *
 * @author joe
 * @version 2018.03.17 17:29
 */
public interface ActivityMapper {
	/**
	 * 根据商品或套餐ID查询对应的活动
	 *
	 * @param goodsId
	 *            商品或者套餐ID
	 * @param state
	 *            活动状态，00未启动，01已启动，0表示查询所有
	 * @return 商品对应的活动列表
	 */
	List<ActivityGoods> getActivityGoods(@Param("goodsId") long goodsId, @Param("state") String state);

	/**
	 * 查询截止到指定日期某个用户的所有下级购买记录
	 *
	 * @param userId
	 *            用户ID
	 * @param endTime
	 *            截止日期，格式yyyy-MM-dd HH:mm:ss
	 * @return 列表
	 */
	List<ActivityTakeDetail> getAllActivityTakeDetail(long userId, String endTime);

	/**
	 * 插入一条活动购买记录
	 *
	 * @param detail
	 *            活动购买记录
	 * @return 大于0表示成功
	 */
	int insertActivityTakeDetail(ActivityTakeDetail detail);

	/**
	 * 根据Activity的ID查找Activity
	 *
	 * @param id
	 *            Activity的ID
	 * @return 对应的Activity
	 */
	Activity getActivity(long id);
}
